package com.wcx.structure.decorator;

import jdk.management.resource.internal.inst.SocketInputStreamRMHooks;

import java.io.*;

/**
 * 项目: design-pattern-githupdemo
 * <p>
 * 功能描述:
 *
 * @author: WuChengXing
 * @create: 2021-01-12 14:51
 **/
public class DemoTest {
    public static void main(String[] args) throws IOException {
        // 一个镶嵌2颗红宝石，1颗蓝宝石的靴子
        System.out.println(" 一个镶嵌2颗红宝石，1颗蓝宝石的靴子");
        IEquip equip = new RedGemDecorator(new RedGemDecorator(new BlueGemDecorator(new ShoeEquip())));
        System.out.println("攻击力  : " + equip.calculationAttack());
        System.out.println("描述 :" + equip.description());
        System.out.println("-------");
        // 一个镶嵌1颗红宝石，1颗蓝宝石的武器
        System.out.println(" 一个镶嵌1颗红宝石，1颗蓝宝石,1颗黄宝石的武器");
        equip = new RedGemDecorator(new BlueGemDecorator(new YellowGemDecorator(new ArmEquip())));
        System.out.println("攻击力  : " + equip.calculationAttack());
        System.out.println("描述 :" + equip.description());
        System.out.println("-------");

        /**
         * 这里InputStream是最顶层的输出流接口
         * FileInputStream：这就类似于宝石的装饰接口
         * BufferedInputStream：就是具体的宝石的作用
         */
        InputStream inputStream = new BufferedInputStream(new FileInputStream("E:\\test\\a.txt"));
    }
}
